Computational thermodynamics